home *** CD-ROM | disk | FTP | other *** search
- Description of I8080
-
-
- Program I8080 reads and executes Intel 8080 machine instructions.
- The program is written all in C and special care is taken
- towards the portability of the program by separating hardware or OS
- dependent modules from the main part of the program.
-
- These kind of programs are normally written in assembly.
- However, I used C in this project to make the program more portable
- sacrificing the speed. Even so, I still tried to make it run faster for
- the practical use, not only for educational use.
- For example, when the program executes an instruction related with
- flags, it doesn't simulate 8080 step by step exactly. Instead, it
- takes such a path that the result would be same.
-
- The program not only executes 8080 instructions but traces the execution
- of instructions and it can collect the information of executed
- instructions. This feature makes debugging of programs and
- accurately measuring an execution time possible.
-
- The program provides all features of I8080. Among those are instructions
- that access to I/O ports and the program can simulate
- peripheral LSIs, although it cannot simulate their interrupts.
- (However, you can use RST instruction in your program.)
- The module corresponding to POP PSW instruction has a minor
- incompatibility because the program processes flags faster.
- The program executes all programs for 8080 with the exception that
- the program stops when it tries to execute undefined instructions
- (8080 requires some action to proceed).
-
- I8080 provides an interface between CP/M and the host operating system
- by assigning functions corresponding to CP/M BIOS to an undefined
- 8080 instruction.
- This instruction is;
- ED ED nn
- (nn is immediate operand to select a BIOS function.)
- The instruction consists of two bytes of EDs. This happens not only
- in 8080 but also in Z80 and HD-64180 when using undefined instructions.
- If you want to support the simulation of those processors in the
- future, you can use the same program.
-
- The features discussed above can be used with options. You can
- specify its on/off when compiling the program. In general,
- less use of options makes the program smaller and faster.
-
-
-
-
-
-
-
-
-